<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>生命周期</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>

<body>
    <div id='app'>
        {{msg}}
    </div>
    <script>
        const vm = new Vue({
            el: '#app',
            data: {
                msg: '哈哈哈哈'
            },
            beforeCreat() {
                console.log(this.msg);// 没有渲染到页面上
            },
            created() {
                console.log(this.msg);  //哈哈哈哈 
            },
            beforeMount() {
                console.log('挂载之前');
            },
            mounted() {
                console.log('挂载之后');
            },
            beforeUpdata() {
                // debugger
                // 这里的操作一定是同步的，不能有异步操作
                // setTimeout(()=>{
                this.sum = Number(this.num1) + Number(this.num2)
                // },100)
                // debugger
            },
            updated() {
                // debugger 
            },
            beforeDestroy() {
                // 主要用于清除监听事件 和计时器
            },

            destroyed() {
                // vue实例已经被销毁了                
            },
        })

        // 创建阶段
        // beforeCreate
        // created
        // beforeMount
        // mounted

        // // 运行阶段
        // beforeUpdate
        // updated

        // // 销毁阶段
        // beforeDestroy
        // destoryed
    </script>
</body>

</html>